﻿#pragma once
/********************************************************************************
** @ Date:2023/12/29
** @ Author: HanJiaXin
** @ Description:制样登记页面
** @ Version:1.0.0
** @ ClassName:
** @ Fun:
********************************************************************************/
#include <QWidget>
#include "ui_CMakeSamReg.h"
#include "PublicGlobal.h"


class CManualSampleSys;
class CMakeSamReg : public QWidget
{
	Q_OBJECT

public:
	CMakeSamReg(QWidget *parent = Q_NULLPTR);
	~CMakeSamReg();
	void PreInit();//预初始化
	bool CalcBottleCode(int nBottleType, char* szBottleCode, QString& strMSCode, QString strTime);
	bool CalcBottleCodeEx(int nBottleType, char* szBottleCode, QString strMakeSampleCode);//岱海生成瓶底码的规则为:制样码+规格 如（2023020831、2023020861、2023020821）
	bool CalcBottleCodeHJ(int nBottleType, char* szBottleCode, QString strMakeSampleCode);//河津生成瓶底码
	bool CalcBottleCodeXjth(int nBottleType, char* szBottleCode, QString strMakeSampleCode);//新疆天河生成瓶底码

public slots:
	void on_CurrentChanged(const QModelIndex &current, const QModelIndex &previous, const QVector<int> &roles); //当前选择单元格发生变化
	void on_ChangeOkBtn();  //确认选择
	void on_MakeBottleCodeBtn(); //生成瓶底码
	void on_BottleCodeToChipBtn();  //将瓶底码写入芯片
	void on_WeightOKBtn();  //重量确认
	void on_SubmitToOracleBtn();  //将制样记录提交到管控数据库
	void on_AddAccessToTableView();//将本地未提交的记录更新到列表中
	void on_CurrentTableViewChanged(const QModelIndex &newindex, const QModelIndex &oldindex);
	void on_CheckBoxChanged(int state);
	void slot_checkAll(int status);//点击全选槽函数
	void slot_tCheckItem();
	void slot_ComBoBoxCurrentTextChanged(QString str);
	void slot_PushbuttonDeleteClicked();
	//void slot_PushbuttonConformanceClicked();
	void slot_GetWeightCode();//读取地磅重量
	void slot_SampleWeightBtn();//点击样品总重确认按钮

	void slot_PrintHYMBtn();
	void slot_PrintSampleCodeBtn();//打印采样码
	void on_RadioButton(bool flag);

public:
	CManualSampleSys*      m_pParent;            //主界面对话框窗口
	QStandardItemModel*    m_pMakeSamRegModel;   //表格数据模型
	int m_nCount;     //表示当前tableView中记录的条数
	int m_nCurrent;   //当前指向的列表行数
	Ui::MakeSamRegClass ui;
private:

};
